Session Description Protocol (SDP), multimedya oturumlarını duyurmak, davet etmek ve müzakere etmek için kullanılan bir metin tabanlı protokoldür. Özellikle IP üzerinden multimedya iletişimi için tasarlanmıştır ve genellikle Session Initiation Protocol (SIP) gibi diğer protokollerle birlikte kullanılır. SDP, verinin kendisini taşımaz, sadece oturumun özelliklerini ve katılım için gereken bilgileri tanımlar.
SDP'nin temel amaçları şunlardır:
SDP, basit bir metin tabanlı sözdizimine sahiptir. Bir SDP açıklaması, bir dizi öznitelik-değer çiftinden oluşur. Her öznitelik, tek harfli bir tanımlayıcıyla başlar ve ardından bir eşittir işareti (=) ve bir değer gelir. SDP açıklamaları genellikle UTF-8 kodlaması kullanılarak temsil edilir.
Temel Öznitelikler:
v= (version)
: SDP sürümü. Genellikle 0'dır.o= (origin)
: Oturumu oluşturan kişinin veya sistemin bilgileri. Formatı şöyledir: <username> <session id> <session version> <network type> <address type> <address>
. Örneğin: o=alice 2890844526 2890844526 IN IP4 alice.example.com
. IN internet anlamına gelir.s= (session name)
: Oturumun adı.i= (session information)
: Oturum hakkında isteğe bağlı bilgiler.u= (URI)
: Oturum hakkında ek bilgiler içeren bir URI.e= (email address)
: Oturumun sahibiyle iletişim için e-posta adresi.p= (phone number)
: Oturumun sahibiyle iletişim için telefon numarası.c= (connection information)
: Oturum için bağlantı bilgileri. Formatı şöyledir: <network type> <address type> <connection address>
. Örneğin: c=IN IP4 192.0.2.1
.b= (bandwidth information)
: Oturum için bant genişliği bilgileri. Örneğin: b=AS:64
(uygulama paylaşımının bant genişliği).t= (time description)
: Oturumun başlangıç ve bitiş zamanları. Formatı şöyledir: <start time> <stop time>
. Örneğin: t=0 0
(oturumu süresiz yapar).r= (repeat times)
: Oturumun tekrar etme zamanları.z= (time zone adjustments)
: Saat dilimi ayarlamaları.k= (encryption key)
: Oturumun şifreleme anahtarı.a= (attribute)
: Oturumun ek özellikleri.Medya Açıklamaları:
Medya açıklamaları, m=
özniteliği ile başlar ve oturumdaki her medya türü için ayrı bir blok olarak tanımlanır.
m= (media description)
: Medya türü, port numarası, taşıma protokolü ve medya formatları. Örneğin: m=audio 49170 RTP/AVP 0
.i= (media title)
: Medyanın adı.c= (connection information)
: Medya için bağlantı bilgileri (oturuma ait genel bağlantı bilgilerinden farklıysa).b= (bandwidth information)
: Medya için bant genişliği bilgileri.k= (encryption key)
: Medyanın şifreleme anahtarı.a= (media attribute)
: Medyanın ek özellikleri. Örneğin: a=rtpmap:0 PCMU/8000
(PCMU codec'i, 8000 Hz örnekleme hızı).Aşağıda basit bir SDP örneği bulunmaktadır:
v=0
o=alice 2890844526 2890844526 IN IP4 alice.example.com
s=Example Session
c=IN IP4 192.0.2.1
t=0 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
Bu örnek, bir ses oturumunu tanımlar. Oturumu başlatan kişi Alice'tir, oturumun IP adresi 192.0.2.1'dir ve ses verisi 49170 port numarası üzerinden RTP kullanılarak taşınacaktır. Ses verisi PCMU codec'i ile kodlanmıştır.
SDP, çeşitli multimedya uygulamalarında yaygın olarak kullanılır:
SDP genellikle diğer protokollerle birlikte çalışır:
SDP'nin kendisi bir güvenlik protokolü değildir ve verinin şifrelenmesi veya doğrulanması gibi güvenlik mekanizmaları sağlamaz. Bu nedenle, SDP kullanılırken ek güvenlik önlemleri alınması önemlidir. Örneğin:
Session Description Protocol (SDP), multimedya oturumlarını tanımlamak ve müzakere etmek için önemli bir protokoldür. Esnekliği ve geniş uyumluluğu sayesinde birçok farklı uygulamada kullanılmaktadır. Ancak, güvenliği sağlamak için ek önlemler alınması gerekmektedir.
Bu makale, Session Description Protocol (SDP) hakkında genel bir bakış sunmaktadır. Daha detaylı bilgi için, ilgili RFC belgelerine ve diğer kaynaklara başvurulabilir.